/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package logic.pago;

/**
 *
 * @author Dani
 */
public class PagoTarjeta extends Pago{
    private int gasto;
    private int numeroTarjeta;
    private boolean efectuado;
    /**
     * Crea un nuevo pago de tarjeta indicando el gasto y el número de tarjeta
     * @param gasto
     * @param numeroTarjeta 
     */
    public PagoTarjeta(int gasto, int numeroTarjeta) {
        this.gasto = gasto;
        this.numeroTarjeta = numeroTarjeta;
    }
    /**
     * Crea un nuevo pago de tarjeta a partir únicamente de un número
     * @param numeroTarjeta 
     */
    public PagoTarjeta(int numeroTarjeta) {
        this.numeroTarjeta = numeroTarjeta;
        this.gasto = 0;
    }
    
    @Override
    public int getGasto() {
        return this.gasto;
    }

    @Override
    public boolean devuelve(int i) {
        if (i > gasto)
            return false;
        
        //hacer devolución conectando con el banco
        gasto-=i;
        return true;
    }

    @Override
    public boolean efectuar() {
        //comprobar con el banco si se puede hacer
        this.efectuado = true;
        return true;
    }

    @Override
    public boolean haSidoEfectuado() {
        return this.efectuado;
    }
    
    @Override
    public String toString() {
        return PagoConstants.PAGO_TARJETA.toString() + ";" + this.gasto + ";" + this.numeroTarjeta;
    }

    @Override
    public void setGasto(int i) {
        this.gasto = i;
    }
    
}
